<?php
$isReloadable = false;
require_once("../../../pers/inc.config.php");
require_once('../../_inc/inc.session.php');
require_once('../../_inc/funct.html.php');
require_once('../../_inc/funct.tabDati.php');
require_once('../../_inc/class.rglDocGen.php');

$aVar = array();
$aDefDati = array();
$msg = aVarCalcTabDati(reqVarInt('id'),reqVarInt('idp'), $aVar, $aDefDati, reqVarInt('ttd'));
$idSetDati = $aVar['B_ID_SET_DATI'];

$aGeDati = getGerarcDefDati($aDefDati,reqVarInt('ttd'));
//dbg_('aGeDati');dbg_($aGeDati);
$oDoc = new rglDocGen();
$oDoc->maxCol = 40;
$oDoc->pdfIntestaz = $aVar['B_RAG_SOC']." - Indici di Bilancio al ".YMD2DMY($aVar['B_DATA_RIF']);
$oDoc->bottomLeftText = date("d/m/Y H:i:s")." (".$_SERVER['HTTP_HOST'].RGL_URL_ROOT.")";

$oDoc->nuovaRigaNP();
//$aCol = array('cla'=>'lab1','col'=>4,'alg'=>'C','txt'=>'Codice');
//$oDoc->setColNP($aCol);
$aCol = array('cla'=>'lab1','col'=>20,'alg'=>'C','txt'=>'Descrizione');
$oDoc->setColNP($aCol);
$txt = YMD2DMY($aVar['B_DATA_RIF']);
$aCol = array('cla'=>'lab1','col'=>5,'alg'=>'C','txt'=>$txt);
$oDoc->setColNP($aCol);
$aCol = array('cla'=>'lab1','col'=>5,'alg'=>'C','txt'=>'media');
$oDoc->setColNP($aCol);
$aCol = array('cla'=>'lab1','col'=>10,'alg'=>'C','txt'=>'valutazione');
$oDoc->setColNP($aCol);

$oDoc->primaPag = true;
$oDoc->nuovaRiga();
$aCol = array('cla'=>'tit1','col'=>40,'alg'=>'C','txt'=>'AZIENDA');
$oDoc->setCol($aCol);
$oDoc->nuovaRiga();
$aCol = array('cla'=>'lab1','col'=>6,'alg'=>'L','txt'=>'Ragione sociale');
$oDoc->setCol($aCol);
$aCol = array('cla'=>'txt1','col'=>34,'alg'=>'L','txt'=>$aVar['B_RAG_SOC']);
$oDoc->setCol($aCol);
$oDoc->nuovaRiga();
$aCol = array('cla'=>'lab1','col'=>6,'alg'=>'L','txt'=>'Residenza');
$oDoc->setCol($aCol);
$aCol = array('cla'=>'txt1','col'=>34,'alg'=>'L','txt'=>$aVar['B_SEDE']);
$oDoc->setCol($aCol);
$oDoc->nuovaRiga();
$aCol = array('cla'=>'lab1','col'=>6,'alg'=>'L','txt'=>'Cod.fiscale');
$oDoc->setCol($aCol);
$aCol = array('cla'=>'txt1','col'=>14,'alg'=>'L','txt'=>$aVar['B_COD_FISC']);
$oDoc->setCol($aCol);
$aCol = array('cla'=>'lab1','col'=>6,'alg'=>'L','txt'=>'Cod.CCIAA');
$oDoc->setCol($aCol);
$aCol = array('cla'=>'txt1','col'=>14,'alg'=>'L','txt'=>$aVar['B_COD_CCIAA']);
$oDoc->setCol($aCol);
$oDoc->nuovaRiga();
$aCol = array('cla'=>'lab1','col'=>6,'alg'=>'L','txt'=>'Settore');
$oDoc->setCol($aCol);
$aCol = array('cla'=>'txt1','col'=>34,'alg'=>'L','txt'=>reqVar('sed'));
$oDoc->setCol($aCol);
$k=0;
foreach($aGeDati as $codX => $aX) {
	$k++;
	genPdfDat($oDoc,$codX,$aX, $aVar, 0,array($k));
}
$sPdf = $oDoc->genPdf(array('orientaPagina'=>'P'));
headerDownLoad(strlen($sPdf),"indici_".$aVar['B_COD_FISC']."_".$aVar['B_DATA_RIF'].".pdf");
echo $sPdf;
exit();


function genPdfDat(&$oDoc,$codX, $aX, &$aVar, $liv, $aNumPar) {
	global $objDB,$objSess;
	$aCSez = array(''=>'-- non sezione --');
	$aCSez['spatt'] = 'Stato patrimoniale - Attivo';
	$aCSez['sppas'] = 'Stato patrimoniale - Passivo';
	$aCSez['cecon'] = 'Conto economico';
	$aCSez['altro'] = 'Altri dati';
	$aCSez['calco'] = 'Dati calcolati';
	
	if ($aX['attr']['cod_sez']!='') {
		if ($oDoc->primaPag) {
			$oDoc->nuovaRiga();
			$oDoc->primaPag = false;
		} else {
			$oDoc->nuovaRiga(-1); //salto pagina
		}
		$aCol = array('cla'=>'tit1','col'=>40,'alg'=>'C','txt'=>"INDICI DI BILANCIO");
		$oDoc->setCol($aCol);
		$oDoc->forzaLabNP();		
	} else {
		$sNumPar = implode('.',$aNumPar);
		$codV = 'Q_'.$codX;
		switch ($aX['attr']['tipo_valore']) {
			case 'label':
				$numX = '';
				$valX = '';
				break;
			case 'euro':
			case 'num':
				$numX = (isset($aVar[$codV])) ? $aVar[$codV] : 0;
				$valX = number_format($numX,2,',','.');
				break;
		}
		$sSql = "SELECT p.* FROM rgl_mod_rbil_par_ind p "
			." WHERE cod_sett = '".reqVarAS('se')."' "
			." AND cod_dato = '".addslashes($codX)."'"
			." AND id_mod_rbil = ".reqVarInt('idm');
		//dbg_($sSql);
		$objDB->query($sSql,'selParInd');
		$sMedia = '';
		$sValutaz = '';
		$sStyle = '';
		if ($acPI = $objDB->fetch('selParInd')) {
			$sMedia = number_format($acPI['media_rif'],2,',','.');
			if ($numX >= $acPI['soglia100']) {
				$sValutaz = 'molto positivo';
				$sStyle = 'color:green;';
			} elseif ($numX >= $acPI['soglia75']) {
				$sValutaz = 'positivo';
				$sStyle = 'color:green;';
			} elseif ($numX >= $acPI['soglia50']) {
				$sValutaz = 'in media';
				$sStyle = 'color:#FFDD00;';
			} elseif ($numX >= $acPI['soglia25']) {
				$sValutaz = 'negativo';
				$sStyle = 'color:red;';
			} else {
				$sValutaz = 'molto negativo';
				$sStyle = 'color:red;';
			}
		}
		$oDoc->nuovaRiga();
		$oDoc->setParRiga('labNP',true);
		//$aCol = array('cla'=>'txt1','col'=>4,'alg'=>'L','txt'=>$codX);
		//$oDoc->setCol($aCol);
		$txt = str_repeat(' ', $liv*4).$aX['attr']['descr'];
		$aCol = array('cla'=>'txt1','col'=>20,'alg'=>'L','txt'=>$txt);
		$oDoc->setCol($aCol);
		$aCol = array('cla'=>'txt1','col'=>5,'alg'=>'R','txt'=>$valX);
		$oDoc->setCol($aCol);
		$aCol = array('cla'=>'txt1','col'=>5,'alg'=>'R','txt'=>$sMedia);
		$oDoc->setCol($aCol);
		$aCol = array('cla'=>'txt1','col'=>10,'alg'=>'C','txt'=>$sValutaz);
		$oDoc->setCol($aCol);
	}
	$k = count($aNumPar);
	$aNumPar[$k] = 0;
	foreach($aX['figli'] as $codY => $aY)  {
		$aNumPar[$k]++;
		genPdfDat($oDoc,$codY, $aY, $aVar, $liv+1,$aNumPar);
	}
}
